<script>
    // 后端转前端
        // 1.定一个空对象
        // 2.将拿到的json数据 中 " { } 替换成空字符  并用，分割成数组
        // 3.遍历数组 
        // 4.再用：分割成arr数组
        // 5.添加到obj中
        
    // let Data = '{"errcode":0,"errmsg":"ok","add":true}'
    // console.log(JSON.parse(Data));

    function parse(Date) {
        let obj = {}
        let temp = Date.replace(/"|{|}|\s/g, '').split(',')
        temp.forEach(item => {
            let arr = item.split(':')
            console.log(arr);
            if (isNaN(arr[1])) {
                obj[arr[0]] = arr[1]
            } else {
                obj[arr[0]] = Number(arr[1])
            }
            if ('true' == arr[1]) {
                obj[arr[0]] = Boolean(arr[1])
            }
            if ('flase' == arr[1]) {
                obj[arr[0]] = !Boolean(arr[1])
            }
        });
        return obj
    }


    console.log('------------------');

    // 前端转后端
        // 1.定义一个空数组
        // 2.遍历对象
        // 3.判断对象键的值 是不是number boolean类型  如果不是就加"" 双引号
        // 4.将 对象的键加"" 双引号:对象值 ,格式追加到空数组 
        // 5.将数组通过，逗号 拼接，放在{}里面 返回

    // let obj = {errcode: 0,errmsg: 'ok',add: true}
    // console.log(JSON.stringify(obj));

    function str(obj) {
        let arr = []
        for (let key in obj) {
            let val = obj[key]
            if (!['number', 'boolean'].includes(typeof val)) {
                val = `"${obj[key]}"`
            }
            arr.push(`"${key}":${val}`)
        }
        return `${arr.join(',')}`
    }
</script>